/* Copyright (c) Microsoft Corporation                                       */
/*                                                                           */
/* All rights reserved.                                                      */
/*                                                                           */
/* Licensed under the Apache License, Version 2.0 (the "License"); you may   */
/* not use this file except in compliance with the License.  You may obtain  */
/* a copy of the License at http://www.apache.org/licenses/LICENSE-2.0       */
/*                                                                           */
/* THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS     */
/* OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION      */
/* ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR   */
/* PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT.                              */
/*                                                                           */
/* See the Apache Version 2.0 License for specific language governing        */
/* permissions and limitations under the License.                            */
/*                                                                           */
#ifndef _ARGS_H
#define _ARGS_H

#include <stdbool.h>
#include <stdint.h>

typedef struct {
	bool include_elf_header;
	bool insert_entry_jump;
	bool assert_rel_exists;
	uint32_t allocate_new_stack_size;
	char *input_image;
	char *insert_manifest;
	char *emit_c_dir;
	char *emit_c_symbol;
	char *emit_binary;
} Args;

void args_init(Args *args, int argc, char **argv);

#endif // _ARGS_H
